plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
↳ QTRS
↳ DependencyPairsProof
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
DIV2(div2(x, y), z) -> TIMES2(y, z)
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
PR2(x, s1(s1(y))) -> DIVIDES2(s1(s1(y)), x)
DIVIDES2(y, x) -> TIMES2(div2(x, y), y)
DIVIDES2(y, x) -> EQ2(x, times2(div2(x, y), y))
PLUS2(s1(x), y) -> PLUS2(x, y)
TIMES2(s1(x), y) -> PLUS2(y, times2(x, y))
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
EQ2(s1(x), s1(y)) -> EQ2(x, y)
DIV2(div2(x, y), z) -> DIV2(x, times2(y, z))
TIMES2(s1(x), y) -> TIMES2(x, y)
PR2(x, s1(s1(y))) -> IF3(divides2(s1(s1(y)), x), x, s1(y))
DIV2(x, y) -> QUOT3(x, y, y)
IF3(false, x, y) -> PR2(x, y)
DIVIDES2(y, x) -> DIV2(x, y)
PRIME1(s1(s1(x))) -> PR2(s1(s1(x)), s1(x))
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
DIV2(div2(x, y), z) -> TIMES2(y, z)
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
PR2(x, s1(s1(y))) -> DIVIDES2(s1(s1(y)), x)
DIVIDES2(y, x) -> TIMES2(div2(x, y), y)
DIVIDES2(y, x) -> EQ2(x, times2(div2(x, y), y))
PLUS2(s1(x), y) -> PLUS2(x, y)
TIMES2(s1(x), y) -> PLUS2(y, times2(x, y))
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
EQ2(s1(x), s1(y)) -> EQ2(x, y)
DIV2(div2(x, y), z) -> DIV2(x, times2(y, z))
TIMES2(s1(x), y) -> TIMES2(x, y)
PR2(x, s1(s1(y))) -> IF3(divides2(s1(s1(y)), x), x, s1(y))
DIV2(x, y) -> QUOT3(x, y, y)
IF3(false, x, y) -> PR2(x, y)
DIVIDES2(y, x) -> DIV2(x, y)
PRIME1(s1(s1(x))) -> PR2(s1(s1(x)), s1(x))
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQ2(s1(x), s1(y)) -> EQ2(x, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
EQ2(s1(x), s1(y)) -> EQ2(x, y)
trivial
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
PLUS2(s1(x), y) -> PLUS2(x, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
PLUS2(s1(x), y) -> PLUS2(x, y)
[PLUS1, s1]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
TIMES2(s1(x), y) -> TIMES2(x, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
TIMES2(s1(x), y) -> TIMES2(x, y)
[TIMES1, s1]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
DIV2(div2(x, y), z) -> DIV2(x, times2(y, z))
DIV2(x, y) -> QUOT3(x, y, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
DIV2(div2(x, y), z) -> DIV2(x, times2(y, z))
Used ordering: Combined order from the following AFS and order.
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
DIV2(x, y) -> QUOT3(x, y, y)
trivial
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
DIV2(x, y) -> QUOT3(x, y, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
Used ordering: Combined order from the following AFS and order.
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
DIV2(x, y) -> QUOT3(x, y, y)
[QUOT2, s1, 0, DIV2]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
DIV2(x, y) -> QUOT3(x, y, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
Used ordering: Combined order from the following AFS and order.
DIV2(x, y) -> QUOT3(x, y, y)
[QUOT2, 0, DIV2] > s
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
DIV2(x, y) -> QUOT3(x, y, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
PR2(x, s1(s1(y))) -> IF3(divides2(s1(s1(y)), x), x, s1(y))
IF3(false, x, y) -> PR2(x, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
PR2(x, s1(s1(y))) -> IF3(divides2(s1(s1(y)), x), x, s1(y))
Used ordering: Combined order from the following AFS and order.
IF3(false, x, y) -> PR2(x, y)
divides > [s1, times1, div2]
0 > false > [s1, times1, div2]
0 > true > [s1, times1, div2]
plus1 > [s1, times1, div2]
quot1 > [s1, times1, div2]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
IF3(false, x, y) -> PR2(x, y)
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)